# near model CODE resource # this CODE claims to have no jump table entries (but starts at 600A) 00000000 434F chk.w D1, A7 00000002 4445 neg.w D5 00000004 03E8 0000 bset [A0 + 0x0], D1 00000008 48E7 E0C8 movem.l -[A7], D0,D1,D2,A0,A1,A4 0000000C 4EBA 00F2 jsr [PC + 0xF2 /* 00000100 */] 00000010 41FA FFEA lea.l A0, [PC - 0x16 /* FFFFFFFC */] 00000014 2008 move.l D0, A0 00000016 A055 syscall StripAddress 00000018 4EBA 0090 jsr [PC + 0x90 /* 000000AA */] 0000001C 4CDF 1307 movem.l D0,D1,D2,A0,A1,A4, [A7]+ 00000020 4EFA 02C0 jmp [PC + 0x2C0 /* 000002E2 */] fn00000024: 00000024 41FA FFD6 lea.l A0, [PC - 0x2A /* FFFFFFFC */] 00000028 D1FC 0000 0407 add.l A0, 0x407 0000002E 2008 move.l D0, A0 00000030 A055 syscall StripAddress 00000032 4E75 rts fn00000034: 00000034 48E7 0600 movem.l -[A7], D5,D6 00000038 594F subq.w A7, 4 0000003A 206F 0010 movea.l A0, [A7 + 0x10] 0000003E 226F 0014 movea.l A1, [A7 + 0x14] 00000042 2C2F 0018 move.l D6, [A7 + 0x18] 00000046 1E98 move.b [A7], [A0]+ 00000048 1F58 0001 move.b [A7 + 0x1], [A0]+ 0000004C 1F58 0002 move.b [A7 + 0x2], [A0]+ 00000050 1F58 0003 move.b [A7 + 0x3], [A0]+ 00000054 2A17 move.l D5, [A7] 00000056 7400 moveq.l D2, 0x00 00000058 6044 bra +0x46 /* 0000009E */ label0000005A: 0000005A 1218 move.b D1, [A0]+ 0000005C 1001 move.b D0, D1 0000005E 0240 0080 andi.w D0, 0x80 00000062 670C beq +0xE /* 00000070 */ 00000064 D201 add.b D1, D1 00000066 1001 move.b D0, D1 00000068 4880 ext.w D0 0000006A 48C0 ext.l D0 0000006C D480 add.l D2, D0 0000006E 6028 bra +0x2A /* 00000098 */ label00000070: 00000070 1E81 move.b [A7], D1 00000072 1F58 0001 move.b [A7 + 0x1], [A0]+ 00000076 1001 move.b D0, D1 00000078 0240 0040 andi.w D0, 0x40 /* '@' */ 0000007C 670C beq +0xE /* 0000008A */ 0000007E 3017 move.w D0, [A7] 00000080 E548 lsl D0.w, 2 00000082 E240 asr D0.w, 1 00000084 48C0 ext.l D0 00000086 D480 add.l D2, D0 00000088 600E bra +0x10 /* 00000098 */ label0000008A: 0000008A 1F58 0002 move.b [A7 + 0x2], [A0]+ 0000008E 1F58 0003 move.b [A7 + 0x3], [A0]+ 00000092 2417 move.l D2, [A7] 00000094 E58A lsl D2, 2 00000096 E282 asr D2, 1 label00000098: 00000098 DDB1 2800 add.l [A1 + D2], D6 0000009C 5385 subq.l D5, 1 label0000009E: 0000009E 4A85 tst.l D5 000000A0 6EB8 bgt -0x46 /* 0000005A */ 000000A2 584F addq.w A7, 4 000000A4 4CDF 0060 movem.l D5,D6, [A7]+ 000000A8 4E75 rts fn000000AA: 000000AA 48E7 1020 movem.l -[A7], D3,A2 000000AE 2440 movea.l A2, D0 000000B0 202C 8000 move.l D0, [A4 - 0x8000] 000000B4 260A move.l D3, A2 000000B6 9680 sub.l D3, D0 000000B8 6740 beq +0x42 /* 000000FA */ 000000BA 4A80 tst.l D0 000000BC 661C bne +0x1E /* 000000DA */ 000000BE 422C 8004 clr.b [A4 - 0x7FFC] 000000C2 303C A89F move.w D0, 0xA89F 000000C6 A746 syscall GetToolBoxTrapAddress/GetToolTrapAddress, flags=7 000000C8 2F08 move.l -[A7], A0 000000CA 303C A198 move.w D0, 0xA198 000000CE A346 syscall GetOSTrapAddress, flags=3 000000D0 B1DF cmpa.l A0, [A7]+ 000000D2 56C0 sne D0 000000D4 4400 neg.b D0 000000D6 1940 8004 move.b [A4 - 0x7FFC], D0 label000000DA: 000000DA 2F03 move.l -[A7], D3 000000DC 2F0A move.l -[A7], A2 000000DE 4EBA FF44 jsr [PC - 0xBC /* 00000024 */] 000000E2 2F00 move.l -[A7], D0 000000E4 4EBA FF4E jsr [PC - 0xB2 /* 00000034 */] 000000E8 4FEF 000C lea.l A7, [A7 + 0xC] 000000EC 294A 8000 move.l [A4 - 0x8000], A2 000000F0 4A2C 8004 tst.b [A4 - 0x7FFC] 000000F4 6704 beq +0x6 /* 000000FA */ 000000F6 7001 moveq.l D0, 0x01 000000F8 A198 syscall HWPriv, flags=1 label000000FA: 000000FA 4CDF 0408 movem.l D3,A2, [A7]+ 000000FE 4E75 rts fn00000100: 00000100 41FA FEFA lea.l A0, [PC - 0x106 /* FFFFFFFC */] 00000104 D1FC 0000 8402 add.l A0, 0x8402 0000010A 2008 move.l D0, A0 0000010C A055 syscall StripAddress 0000010E C18C exg D0, A4 00000110 4E75 rts 00000112 4E75 rts fn00000114: 00000114 48E7 1820 movem.l -[A7], D3,D4,A2 00000118 4FEF FFF0 lea.l A7, [A7 - 0x10] 0000011C 246F 0020 movea.l A2, [A7 + 0x20] 00000120 362A 0016 move.w D3, [A2 + 0x16] 00000124 966A 0012 sub.w D3, [A2 + 0x12] 00000128 382A 0014 move.w D4, [A2 + 0x14] 0000012C 986A 0010 sub.w D4, [A2 + 0x10] 00000130 4857 pea.l [A7] 00000132 A972 syscall GetMouse 00000134 4857 pea.l [A7] 00000136 A870 syscall LocalToGlobal 00000138 486F 0004 pea.l [A7 + 0x4] 0000013C 2078 0CC8 movea.l A0, [0x00000CC8 /* TheGDevice */] 00000140 2050 movea.l A0, [A0] 00000142 3028 0024 move.w D0, [A0 + 0x24] 00000146 5040 addq.w D0, 8 00000148 3F00 move.w -[A7], D0 0000014A 2078 0CC8 movea.l A0, [0x00000CC8 /* TheGDevice */] 0000014E 2050 movea.l A0, [A0] 00000150 702B moveq.l D0, 0x2B 00000152 D068 0022 add.w D0, [A0 + 0x22] 00000156 3F00 move.w -[A7], D0 00000158 2078 0CC8 movea.l A0, [0x00000CC8 /* TheGDevice */] 0000015C 2050 movea.l A0, [A0] 0000015E 3028 0028 move.w D0, [A0 + 0x28] 00000162 5140 subq.w D0, 8 00000164 3F00 move.w -[A7], D0 00000166 2078 0CC8 movea.l A0, [0x00000CC8 /* TheGDevice */] 0000016A 2050 movea.l A0, [A0] 0000016C 3028 0026 move.w D0, [A0 + 0x26] 00000170 5140 subq.w D0, 8 00000172 3F00 move.w -[A7], D0 00000174 A8A7 syscall SetRect 00000176 3043 movea.w A0, D3 00000178 2008 move.l D0, A0 0000017A 81FC 0002 divs.w D0, 0x2 0000017E 322F 0002 move.w D1, [A7 + 0x2] 00000182 9240 sub.w D1, D0 00000184 3F41 000E move.w [A7 + 0xE], D1 00000188 3001 move.w D0, D1 0000018A D043 add.w D0, D3 0000018C B06F 000A cmp.w D0, [A7 + 0xA] 00000190 6D0C blt +0xE /* 0000019E */ 00000192 302F 000A move.w D0, [A7 + 0xA] 00000196 9043 sub.w D0, D3 00000198 3F40 000E move.w [A7 + 0xE], D0 0000019C 600E bra +0x10 /* 000001AC */ label0000019E: 0000019E 3001 move.w D0, D1 000001A0 B06F 0006 cmp.w D0, [A7 + 0x6] 000001A4 6E06 bgt +0x8 /* 000001AC */ 000001A6 3F6F 0006 000E move.w [A7 + 0xE], [A7 + 0x6] label000001AC: 000001AC 3044 movea.w A0, D4 000001AE 2008 move.l D0, A0 000001B0 81FC 0002 divs.w D0, 0x2 000001B4 3217 move.w D1, [A7] 000001B6 9240 sub.w D1, D0 000001B8 3F41 000C move.w [A7 + 0xC], D1 000001BC 3001 move.w D0, D1 000001BE D044 add.w D0, D4 000001C0 B06F 0008 cmp.w D0, [A7 + 0x8] 000001C4 6D0C blt +0xE /* 000001D2 */ 000001C6 302F 0008 move.w D0, [A7 + 0x8] 000001CA 9044 sub.w D0, D4 000001CC 3F40 000C move.w [A7 + 0xC], D0 000001D0 600E bra +0x10 /* 000001E0 */ label000001D2: 000001D2 3001 move.w D0, D1 000001D4 B06F 0004 cmp.w D0, [A7 + 0x4] 000001D8 6E06 bgt +0x8 /* 000001E0 */ 000001DA 3F6F 0004 000C move.w [A7 + 0xC], [A7 + 0x4] label000001E0: 000001E0 2F0A move.l -[A7], A2 000001E2 3F2F 0012 move.w -[A7], [A7 + 0x12] 000001E6 3F2F 0012 move.w -[A7], [A7 + 0x12] 000001EA 4227 clr.b -[A7] 000001EC A91B syscall MoveWindow 000001EE 2F0A move.l -[A7], A2 000001F0 A915 syscall ShowWindow 000001F2 4FEF 0010 lea.l A7, [A7 + 0x10] 000001F6 4CDF 0418 movem.l D3,D4,A2, [A7]+ 000001FA 4E75 rts 000001FC 8C41 or.w D6, D1 000001FE 7574 moveq.l D2, 0x74 00000200 6F50 ble +0x52 /* 00000252 */ 00000202 6F73 ble +0x75 /* 00000277 */ 00000204 6974 bvs +0x76 /* 0000027A */ 00000206 696F bvs +0x71 /* 00000277 */ 00000208 6E00 0000 bgt +0x2 /* 0000020A */ // begin alternate branch 0000020A-00000214 label0000020A: 0000020A 0000 48E7 ori.b D0, 0xE7 fn0000020C: // (misaligned) 0000020E 1030 4FEF move.b D0, <> 00000212 FEF0 .extension 0xEF0 // unimplemented // end alternate branch 0000020A-00000214 label0000020A: // (misaligned) fn0000020C: 0000020C 48E7 1030 movem.l -[A7], D3,A2,A3 00000210 4FEF FEF0 lea.l A7, [A7 - 0x110] 00000214 266F 0120 movea.l A3, [A7 + 0x120] 00000218 7600 moveq.l D3, 0x00 0000021A 594F subq.w A7, 4 0000021C 3F3C 0080 move.w -[A7], 0x80 00000220 42A7 clr.l -[A7] 00000222 4878 FFFF push.l 0xFFFF 00000226 A97C syscall GetNewDialog 00000228 205F movea.l A0, [A7]+ 0000022A 2448 movea.l A2, A0 0000022C 200A move.l D0, A2 0000022E 6700 009A beq +0x9C /* 000002CA */ 00000232 2F0A move.l -[A7], A2 00000234 A873 syscall SetPort 00000236 2F0A move.l -[A7], A2 00000238 4EBA FEDA jsr [PC - 0x126 /* 00000114 */] 0000023C 2F0A move.l -[A7], A2 0000023E 3F3C 0003 move.w -[A7], 0x3 00000242 486F 0012 pea.l [A7 + 0x12] 00000246 486F 0118 pea.l [A7 + 0x118] 0000024A 486F 0012 pea.l [A7 + 0x12] 0000024E A98D syscall GetDialogItem/GetDItem 00000250 2F13 move.l -[A7], [A3] label00000252: 00000252 486F 0012 pea.l [A7 + 0x12] 00000256 4EB9 0000 03F0 jsr [0x000003F0] 0000025C 2F2F 010E move.l -[A7], [A7 + 0x10E] 00000260 486F 0012 pea.l [A7 + 0x12] 00000264 A98F syscall SetDialogItemText/SetIText 00000266 2F0A move.l -[A7], A2 00000268 4878 0003 push.l 0x3 0000026C 3F3C 7FFF move.w -[A7], 0x7FFF 00000270 A97E syscall SelectDialogItemText/SelIText 00000272 584F addq.w A7, 4 label00000274: 00000274 206F 0124 movea.l A0, [A7 + 0x124] 00000278 2F28 0008 move.l -[A7], [A0 + 0x8] // begin alternate branch 0000027A-00000280 label0000027A: 0000027A 0008 486F ori.b A0, 0x6F /* 'o' */ 0000027E 0112 btst [A2], D0 // end alternate branch 0000027A-00000280 label0000027A: // (misaligned) 0000027C 486F 0112 pea.l [A7 + 0x112] 00000280 A991 syscall ModalDialog 00000282 0C6F 0001 010E cmpi.w [A7 + 0x10E], 0x1 00000288 6708 beq +0xA /* 00000292 */ 0000028A 0C6F 0002 010E cmpi.w [A7 + 0x10E], 0x2 00000290 66E2 bne -0x1C /* 00000274 */ label00000292: 00000292 0C6F 0001 010E cmpi.w [A7 + 0x10E], 0x1 00000298 662C bne +0x2E /* 000002C6 */ 0000029A 7601 moveq.l D3, 0x01 0000029C 2F0A move.l -[A7], A2 0000029E 3F3C 0003 move.w -[A7], 0x3 000002A2 486F 000E pea.l [A7 + 0xE] 000002A6 486F 0114 pea.l [A7 + 0x114] 000002AA 486F 000E pea.l [A7 + 0xE] 000002AE A98D syscall GetDialogItem/GetDItem 000002B0 2F2F 010A move.l -[A7], [A7 + 0x10A] 000002B4 486F 000E pea.l [A7 + 0xE] 000002B8 A990 syscall GetDialogItemText/GetIText 000002BA 486F 000A pea.l [A7 + 0xA] 000002BE 2F0B move.l -[A7], A3 000002C0 4EB9 0000 03DC jsr [0x000003DC] label000002C6: 000002C6 2F0A move.l -[A7], A2 000002C8 A983 syscall DisposeDialog label000002CA: 000002CA 1003 move.b D0, D3 000002CC 4FEF 0110 lea.l A7, [A7 + 0x110] 000002D0 4CDF 0C08 movem.l D3,A2,A3, [A7]+ 000002D4 4E75 rts 000002D6 8967 or.w -[A7], D4 000002D8 6574 bcs +0x76 /* 0000034E */ 000002DA 5061 addq.w -[A1], 8 000002DC 7261 moveq.l D1, 0x61 000002DE 6D73 blt +0x75 /* 00000353 */ 000002E0 0000 48E7 ori.b D0, 0xE7 // begin alternate branch 000002E2-000002E8 label000002E2: 000002E2 48E7 1E32 movem.l -[A7], D3,D4,D5,D6,A2,A3,A6 000002E6 594F subq.w A7, 4 // end alternate branch 000002E2-000002E8 label000002E2: // (misaligned) 000002E4 1E32 594F move.b D7, <> 000002E8 2C6F 0024 movea.l A6, [A7 + 0x24] 000002EC 2A2F 002C move.l D5, [A7 + 0x2C] 000002F0 2C2F 0030 move.l D6, [A7 + 0x30] 000002F4 2456 movea.l A2, [A6] 000002F6 2656 movea.l A3, [A6] 000002F8 7078 moveq.l D0, 0x78 000002FA 2E80 move.l [A7], D0 000002FC 2F2F 0034 move.l -[A7], [A7 + 0x34] 00000300 486F 0004 pea.l [A7 + 0x4] 00000304 4EBA FF06 jsr [PC - 0xFA /* 0000020C */] 00000308 4A00 tst.b D0 0000030A 504F addq.w A7, 8 0000030C 6700 00B8 beq +0xBA /* 000003C6 */ 00000310 206F 0028 movea.l A0, [A7 + 0x28] 00000314 7000 moveq.l D0, 0x00 00000316 1028 002A move.b D0, [A0 + 0x2A] 0000031A 5140 subq.w D0, 8 0000031C 6708 beq +0xA /* 00000326 */ 0000031E 5140 subq.w D0, 8 00000320 674C beq +0x4E /* 0000036E */ 00000322 6000 00A2 bra +0xA4 /* 000003C6 */ label00000326: 00000326 D5C5 add.l A2, D5 00000328 7800 moveq.l D4, 0x00 0000032A 6038 bra +0x3A /* 00000364 */ label0000032C: 0000032C 1612 move.b D3, [A2] 0000032E 49C3 lea.l A4, D3 00000330 0C83 0000 0080 cmpi.l D3, 0x80 00000336 6D06 blt +0x8 /* 0000033E */ 00000338 0483 0000 00FF subi.l D3, 0xFF label0000033E: 0000033E 2217 move.l D1, [A7] 00000340 4C01 3800 movem.w A3,A4,A5, D1 00000344 4C7C 3803 0000 0064 movem.l D0,D1,A3,A4,A5, 0x64 /* 'd' */ 0000034C 707F moveq.l D0, 0x7F label0000034E: 0000034E B680 cmp.l D3, D0 00000350 6D04 blt +0x6 /* 00000356 */ 00000352 767F moveq.l D3, 0x7F 00000354 6008 bra +0xA /* 0000035E */ label00000356: 00000356 7081 moveq.l D0, 0xFFFFFF81 00000358 B680 cmp.l D3, D0 0000035A 6E02 bgt +0x4 /* 0000035E */ 0000035C 7681 moveq.l D3, 0xFFFFFF81 label0000035E: 0000035E 1483 move.b [A2], D3 00000360 528A addq.l A2, 1 00000362 5284 addq.l D4, 1 label00000364: 00000364 2006 move.l D0, D6 00000366 9085 sub.l D0, D5 00000368 B880 cmp.l D4, D0 0000036A 6DC0 blt -0x3E /* 0000032C */ 0000036C 6058 bra +0x5A /* 000003C6 */ label0000036E: 0000036E 2005 move.l D0, D5 00000370 4C7C 0800 0000 0002 movem.l A3, 0x2 00000378 D080 add.l D0, D0 0000037A D7C0 add.l A3, D0 0000037C 7800 moveq.l D4, 0x00 0000037E 6036 bra +0x38 /* 000003B6 */ label00000380: 00000380 3053 movea.w A0, [A3] 00000382 2608 move.l D3, A0 00000384 2217 move.l D1, [A7] 00000386 4C01 3800 movem.w A3,A4,A5, D1 0000038A 4C7C 3803 0000 0064 movem.l D0,D1,A3,A4,A5, 0x64 /* 'd' */ 00000392 0C83 0000 7FFF cmpi.l D3, 0x7FFF 00000398 6D08 blt +0xA /* 000003A2 */ 0000039A 263C 0000 7FFF move.l D3, 0x7FFF 000003A0 600E bra +0x10 /* 000003B0 */ label000003A2: 000003A2 0C83 FFFF 8000 cmpi.l D3, 0xFFFF8000 000003A8 6E06 bgt +0x8 /* 000003B0 */ 000003AA 263C FFFF 8000 move.l D3, 0xFFFF8000 label000003B0: 000003B0 3683 move.w [A3], D3 000003B2 548B addq.l A3, 2 000003B4 5284 addq.l D4, 1 label000003B6: 000003B6 2006 move.l D0, D6 000003B8 9085 sub.l D0, D5 000003BA 4C7C 0800 0000 0002 movem.l A3, 0x2 000003C2 B880 cmp.l D4, D0 000003C4 6DBA blt -0x44 /* 00000380 */ label000003C6: 000003C6 7000 moveq.l D0, 0x00 000003C8 584F addq.w A7, 4 000003CA 4CDF 4C78 movem.l D3,D4,D5,D6,A2,A3,A6, [A7]+ 000003CE 4E75 rts 000003D0 846D 6169 or.w D2, [A5 + 0x6169] 000003D4 6E00 0000 bgt +0x2 /* 000003D6 */ // begin alternate branch 000003D6-000003E2 label000003D6: 000003D6 0000 206F ori.b D0, 0x6F /* 'o' */ 000003DA 0008 3F3C ori.b A0, 0x3C /* '<' */ 000003DE 0001 A9EE ori.b D1, 0xEE // end alternate branch 000003D6-000003E2 label000003D6: // (misaligned) 000003D8 206F 0008 movea.l A0, [A7 + 0x8] 000003DC 3F3C 0001 move.w -[A7], 0x1 000003E0 A9EE syscall Pack7/DecStr68K 000003E2 206F 0004 movea.l A0, [A7 + 0x4] 000003E6 2080 move.l [A0], D0 000003E8 4EFA 000E jmp [PC + 0xE /* 000003F8 */] 000003EC 206F 0004 movea.l A0, [A7 + 0x4] 000003F0 202F 0008 move.l D0, [A7 + 0x8] 000003F4 4267 clr.w -[A7] 000003F6 A9EE syscall Pack7/DecStr68K label000003F8: 000003F8 205F movea.l A0, [A7]+ 000003FA 504F addq.w A7, 8 000003FC 4ED0 jmp [A0] 000003FE 0000 0000 ori.b D0, 0x0 00000402 0000 0000 ori.b D0, 0x0 00000406 0241 2EB5 andi.w D1, 0x2EB5